The traditional architecture for a DBMS (database management system) engine has the recovery, concurrency control and access method code tightly bound together in a monolithic storage engine for records. In other words, the database kernel is a single multi-threaded component. As will be understood, the kernel in a DBMS is the central component responsible for managing the system's resources from transactions to data management. In conventional kernels, these responsibilities are tightly coupled and dependent upon one another to function properly.
Unfortunately, this combined architecture is not flexible or extensible. For example, as database management systems evolve to cloud-based deployments, traditional bundled DBMS kernels will not migrate well to this new distributed database system. Cloud computing opens up opportunities for easy and wide deployment of new, data intensive applications that will exploit cloud-based database management. These cloud-based deployments create new problems of scale and computing infrastructure—which, traditional DBMS kernels are not equipped to effectively and efficiently handle.
While some forms of DBMS decomposition has been suggested by researchers in the past, the common decomposition merely separated the query processing from the optimization components from the storage engine. As will be understood, cloud-based computing re-introduces interest in and pressure for again tackling this challenge of effectively and efficiently decomposing the DBMS, and specifically separating transactional functionality from data management.